/*
 * listaFacturas.java
 *
 * Created on 20 de agosto de 2008, 05:51 PM
 */

package administrador;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author  Jorge
 */

    public class listaFacturas extends javax.swing.JFrame {

    javax.swing.JTable tabla;
    javax.swing.JScrollPane js;
    Conexion conexion;
    Facturacion factPrin;
    NotaCD nCDPrin;
    Nota_de_Venta notaVenta;
    KardexInOut kardexInOut;
    String bandera;
    int opcionComprobante=0; // esto de aqui es para verificar si vamos a ver factutas
    int vent=0;                             // anuladas o activas 
    
    int tipoDocumento;
    public listaFacturas(Conexion conexion,Facturacion factPrin, int opcion,Usuario user) {
        
        setBounds(50,50,850,650);
        tipoDocumento=0;
        bandera="Facturacion";
        opcionComprobante=opcion;
        initComponents();
        ponerFecha("");
        this.factPrin=factPrin;
        this.conexion=conexion;
        if(opcionComprobante==0){
            setTitle("Buscar Facturas Activas");
        }else{
            setTitle("Buscar Facturas Anuladas");
        }
        this.realizarBusqueda();

        //Quito los botones de anulacion para los empleados
         if(user.getPrivilegio().equals("e")){
           this.cb_buscar.setEnabled(false);
           this.combo_a.setEnabled(false);
           this.combo_m.setEnabled(false);
           this.combo_d.setEnabled(false);
        }
    }
    
    public listaFacturas(Conexion conexion,Nota_de_Venta notaVenta, int opcion,Usuario user) {
        
       setBounds(50,50,850,650);
        tipoDocumento=1;
        bandera="Nota de Venta";
        opcionComprobante=opcion;
        initComponents();
        ponerFecha("");
        this.notaVenta=notaVenta;
        this.conexion=conexion;
        if(opcionComprobante==0){
            setTitle("Buscar Notas Activas");
        }else{
            setTitle("Buscar Notas Anuladas");
        }
        this.realizarBusqueda();

        //Quito los botones de anulacion para los empleados
         if(user.getPrivilegio().equals("e")){
           this.cb_buscar.setEnabled(false);
           this.combo_a.setEnabled(false);
           this.combo_m.setEnabled(false);
           this.combo_d.setEnabled(false);
        }
    }
                                                            //opcion=(Anuladas -Activas)  //tipo Debito-Credito
     public listaFacturas(Conexion conexion,NotaCD nCDPrin, int opcion,int tipoDoc,int vent,Usuario user) {
         
        this.vent=vent;
        
        setBounds(50,50,850,650);
        tipoDocumento=tipoDoc;
        bandera="NotaCD";
        opcionComprobante=opcion;
        initComponents();
        ponerFecha("");
        this.nCDPrin=nCDPrin;
        setVisible(true);
        
        this.conexion=conexion;
        if(opcionComprobante==0){
            setTitle("Buscar Facturas Activas");
        }else{
            setTitle("Buscar Facturas Anuladas");
        }
        this.realizarBusqueda();

        //Quito los botones de anulacion para los empleados
         if(user.getPrivilegio().equals("e")){
           this.cb_buscar.setEnabled(false);
           this.combo_a.setEnabled(false);
           this.combo_m.setEnabled(false);
           this.combo_d.setEnabled(false);
        }
    }
     
      public listaFacturas(Conexion conexion,KardexInOut kardexInOut, int opcion,int tipoDoc,int vent,Usuario user) {
          
        this.vent=vent;
        setVisible(true);
        
        tipoDocumento=tipoDoc;
        bandera="KardexInOut";
        opcionComprobante=opcion;
        initComponents();
        ponerFecha("");
        this.kardexInOut=kardexInOut;
        setBounds(50,50,850,650);
        this.conexion=conexion;
        if(opcionComprobante==0){
            setTitle("Buscar Activas");
        }else{
            setTitle("Buscar Anuladas");
        }
        this.realizarBusqueda();

        //Quito los botones de anulacion para los empleados
         if(user.getPrivilegio().equals("e")){
           this.cb_buscar.setEnabled(false);
           this.combo_a.setEnabled(false);
           this.combo_m.setEnabled(false);
           this.combo_d.setEnabled(false);
        }
    }
    
      public String  sacaTiempo(String variableF){
      //Saco la Fecha:
      int mes=combo_m.getSelectedIndex()+1;
      String fecha=combo_a.getSelectedItem().toString()+"-"+mes+"-"+combo_d.getSelectedItem().toString();    
          
      //year(fecha_"+dimin+")= year('"+fecha+"')
      String relacion="";
      int opcion=cb_buscar.getSelectedIndex();

      //Valido la seleccion del documento:


      if(opcion==0){
      //XMES
       relacion="and Month(fecha_"+variableF+")= Month('"+fecha+"') and year(fecha_"+variableF+")= year('"+fecha+"')  ";
      }else if(opcion==1){
      //XANO
          relacion="and year(fecha_"+variableF+")= year('"+fecha+"')";
          
      }else if(opcion==2){
      //XDIA
          relacion="and Month(fecha_"+variableF+")= Month('"+fecha+"') and year(fecha_"+variableF+")= year('"+fecha+"') and  day(fecha_"+variableF+")= day('"+fecha+"')  ";
      }
      
      
      return relacion;
      }


    public String consultaParametro(String columnaTabla,String valor){


        System.out.println("Llega hata aqui los parametros");
        String consulta="";
        String columna="";
        String tipoComprobante="";
        if(columnaTabla.equals("cod_pedido")){
            columna="p.cod_pedido";
        }else
        if(columnaTabla.equals("fecha_pe")){
            columna="p.fecha_pe";
        }else
        if(columnaTabla.equals("cod_cliente")){
            columna="c.cod_cliente";
        }else
        if(columnaTabla.equals("nombre")){
            columna="c.nombre";
        }else
        if(columnaTabla.equals("apellido")){
            columna="c.apellido";
        }
        String estado="";
        if(opcionComprobante==0){
            estado="A";
        }else{
            estado="N";
        }
        if(tipoDocumento==0){
            tipoComprobante="F";
        }else if(tipoDocumento==1){
            tipoComprobante="N";
        }
        else if(tipoDocumento==2){
            tipoComprobante="%";
        }
        consulta="select p.cod_pedido,p.total_pagado,p.fecha_pe,c.cod_cliente,c.nombre,c.apellido,p.tipo_comprobante "+
        "from    cliente c,pedido p "+
        "where   c.cod_cliente=p.cod_cliente and "+columna+" like '"+valor+"%' and estato_pe='"+estado+"' and tipo_comprobante like '"+tipoComprobante+"' "+sacaTiempo("pe")+" order by cod_pedido desc ; ";
        return consulta;
    }
    
    // Consulta Parametros de Nota de Debito y Credito
    public String consultaParametroCD(String columnaTabla,String valor){
        String consulta="";
        String columna="cod_nota ";
        String tipoComprobante="";
        if(columnaTabla.equals("cod_nota")){
            columna="n.cod_nota";
        }else
        if(columnaTabla.equals("fecha_no")){
            columna="n.fecha_no";
        }else
        if(columnaTabla.equals("cod_cliente")){
            columna="c.cod_cliente";
        }else
        if(columnaTabla.equals("nombre")){
            columna="c.nombre";
        }else
        if(columnaTabla.equals("apellido")){
            columna="c.apellido";
        }
        String estado="";
        if(opcionComprobante==0){
            estado="A";
        }else{
            estado="N";
        }
        if(tipoDocumento==0){
            tipoComprobante="D";
        }else if(tipoDocumento==1){
            tipoComprobante="C";
        }
        else if(tipoDocumento==2){
            tipoComprobante="%";
        }
        consulta="select n.cod_nota,n.total_pagado,n.fecha_no,c.cod_cliente,c.nombre,c.apellido,n.tipo_comprobante,n.razon_Entrega "+
        "from    cliente c,nota n "+
        "where   c.cod_cliente=n.cod_cliente and "+columna+" like '"+valor+"%' and estato_no='"+estado+"' and tipo_comprobante like '"+tipoComprobante+"' "+sacaTiempo("no")+" order by cod_nota desc ;";
        return consulta;
    }
    
    
     // Consulta Parametros de Nota de Debito y Credito
    public String consultaParametroKA(String columnaTabla,String valor){
        String consulta="";
        String columna="cod_kfactura ";
        String tipoComprobante="";
        if(columnaTabla.equals("cod_kfactura")){
            columna="k.cod_kfactura";
        }else
        if(columnaTabla.equals("fecha_no")){
            columna="k.fecha_ka";
        }else
        if(columnaTabla.equals("cod_cliente")){
            columna="c.cod_cliente";
        }else
        if(columnaTabla.equals("nombre")){
            columna="c.nombre";
        }else
        if(columnaTabla.equals("apellido")){
            columna="c.apellido";
        }
        String estado="";
        if(opcionComprobante==0){
            estado="A";
        }else{
            estado="N";
        }
        if(tipoDocumento==0){
            tipoComprobante="F";
        }else if(tipoDocumento==1){
            tipoComprobante="N";
        }
        else if(tipoDocumento==2){
            tipoComprobante="%";
        }
        consulta="select k.cod_kfactura,k.total_pagado,k.fecha_ka,c.cod_cliente,c.nombre,c.apellido,k.tipo_comprobante "+
        "from    cliente c,kfactura k "+
        "where   c.cod_cliente=k.cod_cliente and "+columna+" like '"+valor+"%' and estato_ka='"+estado+"' and tipo_comprobante like '"+tipoComprobante+"' "+sacaTiempo("ka")+" order by cod_kfactura desc ;";
        return consulta;
    }
    
    public void muestroTabla(java.sql.ResultSet respuesta){
     //Obtengo Filas-Arreglo de Titulos de Columnas
        int filas=conexion.obtenerFilas(respuesta);
        String[] titulosCol=conexion.obtenerColumnas(respuesta);
        //Creo la tabla:
        CrearTabla(filas,titulosCol);
        llenaTabla(respuesta,titulosCol.length,filas);
    }
    public void CrearTabla(int filas,String[] titulos){
        
        int columnas=titulos.length;
        String[][] tabla0=new String[filas][columnas];
       
        tabla= new javax.swing.JTable(tabla0,titulos);
        
        //Aqui le especifico para que la tabla acepte valores doubles e int:
        //--------------------------------------------------------------------
        final boolean[] canEdit = new boolean [columnas];
        for(int p=0;p<columnas;p++){
        canEdit[p]=false;
        }
        tabla.setModel(new javax.swing.table.DefaultTableModel(
            tabla0,titulos  
        ) {
           // boolean[] canEdit = new boolean [] { false, false, false, false};
            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        //---------------------------------------------------------------------
                   
        //Le doy el evento del LCick del Mouse:
        tabla.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tablaMouseClicked(evt);
            }
        });
        
        //remuevo el JScroll para que no se monte cuando cree el nuevo:
        //*************************************************************
        try{
        panel_Tabla.remove(js);
        }catch(java.lang.NullPointerException e){}
        //*************************************************************
        //Pongo en la tabla:
            js = new javax.swing.JScrollPane(tabla);
            js.setBounds(0,0,700,500);
            js.setVisible(true);
            panel_Tabla.add(js);
            js.updateUI();
            panel_Tabla.updateUI();
    }
    public void llenaTabla(java.sql.ResultSet r,int columnas,int filas){
        try{
            r.beforeFirst();
            
            int j=0;
            while(r.next()) {
                
                for(int i=0;i<columnas;i++) {
                    
                    Object toma=r.getObject(i+1);
                    //System.out.println("toma valor:"+toma+" * fila:"+j+" * column:"+i);
                    try{
                        tabla.setValueAt(toma,j,i);
                    }catch(java.lang.ArrayStoreException e){
                        System.out.print("Errrrorrr");
                        tabla.setValueAt("null",j,i);
                    }
                }
                
                j++;
            }
        }catch(java.sql.SQLException sqle){
            System.out.println("Error al mostrar los datos");
            System.err.println(sqle);
        }
    }
    private void tablaMouseClicked(java.awt.event.MouseEvent evt) {
        if(bandera.equals("Facturacion")){
        factPrin.txt_codFac.setText(tabla.getValueAt(tabla.getSelectedRow(),0).toString());
        factPrin.cargarFactura(tabla.getValueAt(tabla.getSelectedRow(),0).toString());
        dispose();
        }
        if(bandera.equals("NotaCD")){
        if(vent==1){
        //Para el buscador del visor:
        int filaSel=tabla.getSelectedRow();
        String tipoFactura=tabla.getValueAt(filaSel,6).toString();
        nCDPrin.tipoCompAnul=tipoFactura;
        nCDPrin.txt_codFac.setText(tabla.getValueAt(tabla.getSelectedRow(),0).toString());
        nCDPrin.cargarFactura(tabla.getValueAt(tabla.getSelectedRow(),0).toString());
        
        dispose();
        }else{
        //Para la ventana de LLenar Referencia de Factura
        //Tomo los datos de la Factura o la Nota:
            int filaSel=tabla.getSelectedRow();
            int ultimaCol=tabla.getSelectedRow();
            String codFactura=tabla.getValueAt(filaSel,0).toString();
            String tipoFactura=tabla.getValueAt(filaSel,6).toString();
            String codigoCliente=sacoCodCliente(codFactura,tipoFactura);
            String union=tipoFactura+" "+codFactura;
            System.out.println("La Factura Referenciada es:"+codFactura+" Tipo:"+tipoFactura);
            
        String cod_factura=union;    
        nCDPrin.txt_facRef.setText(union);
        nCDPrin.txt_id.setText(codigoCliente);
        nCDPrin.muestroCliente();
        nCDPrin.tipoCompAnul=tipoFactura;
        //nCDPrin.cargarFactura(tabla.getValueAt(tabla.getSelectedRow(),0).toString());
        dispose();
        }
        }
        if(bandera.equals("KardexInOut")){
        //Para el buscador del visor:
        int filaSel=tabla.getSelectedRow();
        String tipoFactura=tabla.getValueAt(filaSel,6).toString();
        kardexInOut.letraDoc=tipoFactura;
           
        kardexInOut.txt_codFac.setText(tabla.getValueAt(tabla.getSelectedRow(),0).toString());
        kardexInOut.cargarFactura(tabla.getValueAt(tabla.getSelectedRow(),0).toString());
        dispose();
        }
        if(bandera.equals("Nota de Venta")){
        notaVenta.txt_codFac.setText(tabla.getValueAt(tabla.getSelectedRow(),0).toString());
        notaVenta.cargarFactura(tabla.getValueAt(tabla.getSelectedRow(),0).toString());
        dispose();
        }
    }
    
    
    public String sacoCodCliente(String codFact,String tipoDoc){
        String cedula="";
        try {
            ResultSet respuesta = conexion.consultarBase("SELECT cod_cliente FROM pedido p where tipo_comprobante='" + tipoDoc + "' and cod_pedido=" + codFact + ";");
            respuesta.beforeFirst();
            respuesta.next();
            cedula = respuesta.getString(1);
            
        } catch (SQLException ex) {
            Logger.getLogger(listaFacturas.class.getName()).log(Level.SEVERE, null, ex);
        }
        return cedula;
    }
    
    
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        txt_busqueda = new javax.swing.JTextField();
        combo_tipoBusq = new javax.swing.JComboBox();
        panel_Tabla = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        combo_d = new javax.swing.JComboBox();
        combo_m = new javax.swing.JComboBox();
        combo_a = new javax.swing.JComboBox();
        jButton1 = new javax.swing.JButton();
        cb_buscar = new javax.swing.JComboBox();

        jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        txt_busqueda.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_busquedaActionPerformed(evt);
            }
        });
        txt_busqueda.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txt_busquedaKeyTyped(evt);
            }
        });

        combo_tipoBusq.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Codigo Factura", "Fecha", "Cedula", "Nombre", "Apellido" }));

        panel_Tabla.setLayout(new java.awt.BorderLayout());

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel1.setText("BUSCAR:");

        jLabel2.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel2.setForeground(new java.awt.Color(153, 153, 153));
        jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel2.setText("Año");
        jLabel2.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        jLabel3.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel3.setForeground(new java.awt.Color(153, 153, 153));
        jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel3.setText("Mes");
        jLabel3.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        jLabel4.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel4.setForeground(new java.awt.Color(153, 153, 153));
        jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel4.setText("Dia");
        jLabel4.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        combo_d.setBackground(new java.awt.Color(240, 240, 240));
        combo_d.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31" }));
        combo_d.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                combo_dActionPerformed(evt);
            }
        });

        combo_m.setBackground(new java.awt.Color(240, 240, 240));
        combo_m.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" }));

        combo_a.setBackground(new java.awt.Color(240, 240, 240));
        combo_a.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017", "2018", "2019", "2020" }));

        jButton1.setText("BUSCAR");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        cb_buscar.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Mes", "Ano", "Dia" }));

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(panel_Tabla, javax.swing.GroupLayout.DEFAULT_SIZE, 706, Short.MAX_VALUE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(12, 12, 12)
                        .addComponent(jLabel1)
                        .addGap(18, 18, 18)
                        .addComponent(txt_busqueda, javax.swing.GroupLayout.PREFERRED_SIZE, 172, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(combo_tipoBusq, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(cb_buscar, 0, 114, Short.MAX_VALUE)
                            .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 114, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(combo_a, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(combo_m, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(combo_d, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jButton1))
                            .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(combo_a, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(combo_m, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(combo_d, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(cb_buscar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(11, 11, 11)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(17, 17, 17))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txt_busqueda, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(combo_tipoBusq, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(17, 17, 17)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(panel_Tabla, javax.swing.GroupLayout.PREFERRED_SIZE, 508, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(22, 22, 22))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );

        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-766)/2, (screenSize.height-648)/2, 766, 648);
    }// </editor-fold>//GEN-END:initComponents
int categoria=0;java.sql.ResultSet respuesta=null;

public void realizarBusqueda(){
if(bandera.equals("NotaCD")&&vent==1){   
    try{
     categoria=combo_tipoBusq.getSelectedIndex();
     if(categoria==0){
        
        respuesta=conexion.consultarBase(consultaParametroCD("cod_nota",txt_busqueda.getText()));
        muestroTabla(respuesta);
     }
     if(categoria==1){
         respuesta=conexion.consultarBase(consultaParametroCD("fecha_no",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
     if(categoria==2){
         respuesta=conexion.consultarBase(consultaParametroCD("cod_cliente",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
     if(categoria==3){
         respuesta=conexion.consultarBase(consultaParametroCD("nombre",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
     if(categoria==4){
         respuesta=conexion.consultarBase(consultaParametroCD("apellido",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
    }catch(Exception ex){}
  }
  
  if(bandera.equals("NotaCD")&&vent==0){   
     try{
     categoria=combo_tipoBusq.getSelectedIndex();
     if(categoria==0){
        
        respuesta=conexion.consultarBase(consultaParametro("cod_pedido",txt_busqueda.getText()));
        muestroTabla(respuesta);
     }
     if(categoria==1){
         respuesta=conexion.consultarBase(consultaParametro("fecha_pe",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
     if(categoria==2){
         respuesta=conexion.consultarBase(consultaParametro("cod_cliente",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
     if(categoria==3){
         respuesta=conexion.consultarBase(consultaParametro("nombre",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
     if(categoria==4){
         respuesta=conexion.consultarBase(consultaParametro("apellido",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
    }catch(Exception ex){}
  
  }
  
  if(bandera.equals("KardexInOut")&&vent==1){   
    try{
     categoria=combo_tipoBusq.getSelectedIndex();
     if(categoria==0){
        
        respuesta=conexion.consultarBase(consultaParametroKA("cod_kfactura",txt_busqueda.getText()));
        muestroTabla(respuesta);
     }
     if(categoria==1){
         respuesta=conexion.consultarBase(consultaParametroKA("fecha_ka",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
     if(categoria==2){
         respuesta=conexion.consultarBase(consultaParametroKA("cod_cliente",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
     if(categoria==3){
         respuesta=conexion.consultarBase(consultaParametroKA("nombre",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
     if(categoria==4){
         respuesta=conexion.consultarBase(consultaParametroKA("apellido",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
    }catch(Exception ex){}
  }
  if(bandera.equals("Facturacion")&& vent==0){  
     try{
     categoria=combo_tipoBusq.getSelectedIndex();
     if(categoria==0){
        
        respuesta=conexion.consultarBase(consultaParametro("cod_pedido",txt_busqueda.getText()));
        muestroTabla(respuesta);
     }
     if(categoria==1){
         respuesta=conexion.consultarBase(consultaParametro("fecha_pe",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
     if(categoria==2){
         respuesta=conexion.consultarBase(consultaParametro("cod_cliente",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
     if(categoria==3){
         respuesta=conexion.consultarBase(consultaParametro("nombre",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
     if(categoria==4){
         respuesta=conexion.consultarBase(consultaParametro("apellido",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
    }catch(Exception ex){}
  
  }
  
  if(bandera.equals("Nota de Venta")&& vent==0){  
     try{
     categoria=combo_tipoBusq.getSelectedIndex();
     if(categoria==0){
        
        respuesta=conexion.consultarBase(consultaParametro("cod_pedido",txt_busqueda.getText()));
        muestroTabla(respuesta);
     }
     if(categoria==1){
         respuesta=conexion.consultarBase(consultaParametro("fecha_pe",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
     if(categoria==2){
         respuesta=conexion.consultarBase(consultaParametro("cod_cliente",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
     if(categoria==3){
         respuesta=conexion.consultarBase(consultaParametro("nombre",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
     if(categoria==4){
         respuesta=conexion.consultarBase(consultaParametro("apellido",txt_busqueda.getText()));
         muestroTabla(respuesta);
     }
    }catch(Exception ex){}
  
  }

}

 public void ponerFecha(String fecha){

        if(fecha.equals("")){
        //Pongo la fecha del sistema
        fecha=new java.sql.Date(System.currentTimeMillis()).toString();
        String[] s=fecha.split("-");
        combo_a.setSelectedItem(s[0]);
        combo_m.setSelectedIndex(Integer.parseInt(s[1])-1);
        combo_d.setSelectedIndex(Integer.parseInt(s[2])-1);
        }
        else
        {
        //Pongo la fecha a mi eleccion
        String[] s=fecha.split("-");
        combo_a.setSelectedItem(s[0]);
        combo_m.setSelectedIndex(Integer.parseInt(s[1])-1);
        combo_d.setSelectedIndex(Integer.parseInt(s[2])-1);


        }

    }

private void txt_busquedaKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txt_busquedaKeyTyped
    realizarBusqueda();
}//GEN-LAST:event_txt_busquedaKeyTyped

private void combo_dActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_combo_dActionPerformed
    // TODO add your handling code here:
}//GEN-LAST:event_combo_dActionPerformed

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    realizarBusqueda();
    // TODO add your handling code here:
}//GEN-LAST:event_jButton1ActionPerformed

private void txt_busquedaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txt_busquedaActionPerformed
    // TODO add your handling code here:
}//GEN-LAST:event_txt_busquedaActionPerformed

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JComboBox cb_buscar;
    private javax.swing.JComboBox combo_a;
    private javax.swing.JComboBox combo_d;
    private javax.swing.JComboBox combo_m;
    private javax.swing.JComboBox combo_tipoBusq;
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel panel_Tabla;
    private javax.swing.JTextField txt_busqueda;
    // End of variables declaration//GEN-END:variables

}
